#ifndef _E_PH_CHARACTER_H_
#define _E_PH_CHARACTER_H_

#include <NxCharacter/NxCharacter.h>
#include "EPhController.h"
#include "EDesc.h"
#include "ePhCollisionsGroups.h"

#include "eH.h"
namespace engine
{

class EPhCharacterDesc : public EDesc
{
public:
  EPhCharacterDesc();
  float   m_fCapsuleRadius;
  float   m_fCapsuleHeight;

  bool    isValid() const;
};

class EPhCharacter
{
  EPhCharacterDesc            m_Desc;
  EPhCapsuleControllerDesc    m_PhControllerDesc;
protected:
  EPhController*              m_pPhController;
public:
  EPhCharacter( const EPhCharacterDesc& desc );
  inline const EPhControllerDesc&   getPhControllerDesc () const { return m_PhControllerDesc; }
  void                              setPhController     (EPhController* pPhController);
  inline EPhController*             getPhControllerPtr  () const { return m_pPhController; }
};

} // end namespace

#endif